#ifndef __GAMEENGINE_H__
#define __GAMEENGINE_H__

#include "GameEngine/OGLConfig/screen.h"
#include "GameEngine/3DModel/Model3D.h"
#include "GameEngine/TextureManager.h"
#include "GameEngine/Camera.h"
#include "GameEngine/SkyBox.h"

class GameEngine{
public:
	GameEngine(NativeDisplayType hDC=NULL,NativeWindowType m_hWnd=NULL);
	virtual void hideNotify()=0;
	virtual void showNotify()=0;
	virtual void touchPressed(int index, int x, int y, int tapCount=1)=0;
	virtual void touchMoved(int index, int x, int y)=0;
	virtual void touchReleased(int index, int x, int y)=0;
	virtual void update()=0;
	virtual void paint()=0;
	
	static Camera* getCamera();
protected:
	static colorRGBA	*backgroundColor;
	static Camera		*currentCamera;
	static SkyBox		*currentSkyBox;
};

static colorRGBA defaultBackgroundColor={1.0f, 0.0f, 1.0f, 1.0f};;
#endif
